package cn.kinoko.service.manga;

import cn.kinoko.model.manga.constant.EpCutoutStatus;
import cn.kinoko.model.manga.constant.EpMarkStatus;
import cn.kinoko.model.manga.entity.MangaProcTask;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @author kinoko
 */
public interface MangaProcTaskService extends IService<MangaProcTask> {

    /**
     * 提交任务
     * @param epId 章节id
     * @param taskType 任务类型
     */
    boolean submitTask(Long epId, String taskType);

    /**
     * 标记漫画
     */
    void markManga();

    /**
     * 漫画扣字
     */
    void cutoutManga();

    /**
     * 设置任务和章节的标注状态
     * @param epId 章节id
     * @param marking 标注状态
     * @param task 任务
     * @param running 运行状态
     */
    void setEpTaskMarkStatus(Long epId, EpMarkStatus marking, MangaProcTask task, String running);

    /**
     * 设置任务和章节的标注状态
     *
     * @param epId    章节id
     * @param status  标注状态
     * @param task    任务
     * @param running 运行状态
     */
    void setEpTaskCutoutStatus(Long epId, EpCutoutStatus status, MangaProcTask task, String running);
}